﻿namespace TestTool.Proxies.Onvif
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Xml;
    using System.Xml.Serialization;

    [Serializable, GeneratedCode("svcutil", "3.0.4506.2152"), DesignerCategory("code"), XmlType(TypeName="SystemCapabilities", Namespace="http://www.onvif.org/ver10/schema"), DebuggerStepThrough]
    public class SystemCapabilities1
    {
        private XmlAttribute[] anyAttrField;
        private bool discoveryByeField;
        private bool discoveryResolveField;
        private SystemCapabilitiesExtension extensionField;
        private bool firmwareUpgradeField;
        private bool remoteDiscoveryField;
        private OnvifVersion[] supportedVersionsField;
        private bool systemBackupField;
        private bool systemLoggingField;

        [XmlAnyAttribute]
        public XmlAttribute[] AnyAttr
        {
            get
            {
                return this.anyAttrField;
            }
            set
            {
                this.anyAttrField = value;
            }
        }

        [XmlElement(Order=1)]
        public bool DiscoveryBye
        {
            get
            {
                return this.discoveryByeField;
            }
            set
            {
                this.discoveryByeField = value;
            }
        }

        [XmlElement(Order=0)]
        public bool DiscoveryResolve
        {
            get
            {
                return this.discoveryResolveField;
            }
            set
            {
                this.discoveryResolveField = value;
            }
        }

        [XmlElement(Order=7)]
        public SystemCapabilitiesExtension Extension
        {
            get
            {
                return this.extensionField;
            }
            set
            {
                this.extensionField = value;
            }
        }

        [XmlElement(Order=5)]
        public bool FirmwareUpgrade
        {
            get
            {
                return this.firmwareUpgradeField;
            }
            set
            {
                this.firmwareUpgradeField = value;
            }
        }

        [XmlElement(Order=2)]
        public bool RemoteDiscovery
        {
            get
            {
                return this.remoteDiscoveryField;
            }
            set
            {
                this.remoteDiscoveryField = value;
            }
        }

        [XmlElement("SupportedVersions", Order=6)]
        public OnvifVersion[] SupportedVersions
        {
            get
            {
                return this.supportedVersionsField;
            }
            set
            {
                this.supportedVersionsField = value;
            }
        }

        [XmlElement(Order=3)]
        public bool SystemBackup
        {
            get
            {
                return this.systemBackupField;
            }
            set
            {
                this.systemBackupField = value;
            }
        }

        [XmlElement(Order=4)]
        public bool SystemLogging
        {
            get
            {
                return this.systemLoggingField;
            }
            set
            {
                this.systemLoggingField = value;
            }
        }
    }
}

